<template>
    <!-- 首先 不知道什么时候能拿到 max 值 但总会拿到的 -->
    <!-- 我们可以使用 watch 属性监听 来监听 父组件传递过来的值 不管 watch 会被触发几次 但是最后一次肯定是一个合法的 max 的数值 -->
    <div class="mui-numbox" data-numbox-min='1'>
        <button class="mui-btn mui-btn-numbox-minus" type="button">-</button>
        <input id="test" class="mui-input-numbox" type="number" value="1" @change="countChanged" ref="numbox" />
        <button class="mui-btn mui-btn-numbox-plus" type="button">+</button>
    </div>
    <!-- 分析：子组件什么时候把值传给父组件 -->
</template>

<script>
    import mui from '../../lib/MUI/js/mui.min.js'
    export default {
        mounted() {
            // 初始化数字选择框组件
            mui(".mui-numbox").numbox();
        },
        methods: {
            countChanged() {
                // 每当文本框的数据被改变的时候 立即把最新的数据 通过事件调用 传递给父组件
                // console.log(this.$refs.numbox.value)
                this.$emit("getcount", parseInt(this.$refs.numbox.value))
            }
        },
        props: ["max"],
        watch: {
            // 属性监听
            'max': function (newVal, oldVal) {
                // 使用 JS API 设置 numberbox 的最大值
                mui(".mui-numbox").numbox().setOption('max', newVal)
            }
        }
    }
</script>

<style lang="scss" scoped>

</style>